shell读取文件不改变文本格式 |
您所在的位置:网站首页 › shell脚本 缩进 › shell读取文件不改变文本格式 |
实践促进提升!
项目中遇到需要把文件内容不改变格式的情况下 依次读取行内容,按照以前的做法,直接通用模式读取会把空格字符自动删除部分, 为什么会这样呢?因为 IFS,如果在 shell script 里没有明确指定 IFS 的话,IFS 会默认用来分割空格、制表、换行等,所以读取文本行里多余的空格和换行都被自动缩进了。 常见文件读取方式:【可以自己弄个文件试一下】 # 1 cat filename | while read line do echo "-"$line"-" done # 2 while read -r LINE do echo '-'$LINE'-' done < filename
执行上面的脚本
所以,为了不改变文本格式,把 IFS 设置 为 “” , IFS="" # 1 cat filename | while read line do echo "-"$line"-" done # 2 while read -r LINE do echo '-'$LINE'-' done < filename得到如下,格式不变的行内容。
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |